x86: fix boot failure (regression from pre-4.0 IRQ handling changes)
authorKeir Fraser <keir@xen.org>
Sat, 2 Oct 2010 14:03:15 +0000 (15:03 +0100)
committerKeir Fraser <keir@xen.org>
Sat, 2 Oct 2010 14:03:15 +0000 (15:03 +0100)
commita2e6c0b846955726b29acf983b567dfdefe2a368
treef8cb601f43fb4656dc001c68012eee1e3e8db570
parentb8febbaa0a4b120b3ea8a609fafd7aaeff19c031
x86: fix boot failure (regression from pre-4.0 IRQ handling changes)

With the change to index irq_desc[] by IRQ rather than by vector, the
prior implicit change of the used flow handler when altering the IRQ
routing path to go through the 8259A didn't work anymore, and hence
on boards needing the ExtINT delivery workaround failed to boot.

Make make_8259A_irq() a real function again, thus allowing the flow
handler to be changed there.

Also eliminate the generally superfluous and (at least theoretically)
dangerous hard coded setting of the flow handler for IRQ0: Earlier
code should have set this already based on information coming from
ACPI/MPS, and non-standard systems may e.g. have this IRQ level
triggered.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Tested-by: Markus Schuster <ml@markus.schuster.name>
xen/arch/x86/i8259.c
xen/arch/x86/io_apic.c
xen/include/asm-x86/irq.h